/**
 * 1. 流程控制语句
 *      Js中的程序是从上到下一行一行的执行的，通过流程控制语句可以控制程序执行流程，使程序可以根据一定的条件来选择执行。
 *
 *      语句的分类：
 *          条件判断语句
 *          条件分支语句
 *          循环语句
 *
 * 2. 条件判断语句：
 *      使用条件判断语句可以在执行某个语句之前进行判断，如果条件成立才会执行，条件不成立则语句不在执行。
 *      if语句
 *          语法：
 *              if(条件表达式){语句}
 *              if语句在执行时，会先对条件表达式进行求值判断，如果条件表达式的值为true，则执行if后的语句，如果条件表达式的值为false，则不会执行if后的语句。
 *              if(){}else if(){} else{}
 *              prompt();可以弹出一个提示框，该提示框中会带有一个文本框，用户可以在文本框中输入一段内容，该函数需要一个字符串作为参数，该字符串将会作为提示框的提示文字。
 *              用户输入的内容将会作为prompt();函数的返回值，可以定义一个变量来接收该返回值。
 *
 *  3. 条件分支语句：
 *      条件分支语句也叫switch语句
 *          语法：
 *              switch(){
 *                  case:表达式:
 *                      语句...
 *                      break;
 *                  case:表达式:
 *                      语句...
 *                      break;
 *                  case:表达式:
 *                      语句...
 *                      break;
 *                  default:
 *                      语句...
 *                      break;
 *              }
 *          执行流程：
 *              switch...case...语句，在执行时会依次将case后的表达式的值和switch后的条件表达式的值进行全等比较，
 *              如果比较结果为true，则从当前case处开始执行代码；如果比较结果为false，则继续向下比较。
 *              使用break可以退出switch语句，如果所有的比较结果为false，则只执行default后的语句。
 *          switch语句和if语句的功能实际上有重复的，使用switch可以实现if的功能，同样使用if可以实现switch的功能，所以我们在使用时可以根据自己的习惯选择。
 *
 *  4. 循环语句：
 *          4.1 while循环：
 *              语法：
 *                  while(条件表达式){语句...}
 *              执行流程：
 *                  先对条件表达式进行求值判断，如果是true，则执行循环体，循环体执行完毕后继续对表达式进行解析，如果为true，则继续执行循环体以此类推。
 *                  如果值为false则终止循环。
 *          4.2 do...while循环：
 *              语法：
 *                  do{语句...}while(条件表达式)
 *              执行流程：
 *                  do...while语句在执行的时候，会先执行循环体，循环体执行完毕以后，在对while后的条件表达式进行判断，
 *                  如果结果为true，则继续执行循环体，执行完毕后继续判断以此类推，如果值为false，则终止执行。
 *
 *          实际上这两个语句功能类似，不同的是while是先判断在执行，而do...while是先执行在判断，
 *          do...while可以保证循环体至少执行一次，而while不能。
 *
 *  5. for循环语句：
 *      在for循环中为我们提供了专门的位置来放三个表达式：
 *          1. 初始化表达式
 *          2. 条件表达式
 *          3. 更新表达式
 *      for循环语法：
 *          for(①初始化表达式; ②条件表达式; ④更新表达式){③语句...}
 *      for循环执行流程：
 *          ①执行初始化表达式，初始化变量（初始化表达式只会执行一次）
 *          ②执行条件表达式，判断是否执行循环，③如果为true则执行循环，如果为false，终止循环
 *          ④执行更新表达式，更新表达式执行完毕，继续重复②③④
 *
 *          如果在for循环中不写任何表达式，只写两个;;，此时循环是一个死循环会一直执行下去，慎用！
 *
 *  6. 关键字break和continue
 *      break关键字可以用来退出switch或循环语句
 *      不能再if语句中使用break和continue，但是如果循环语句中有if判断语句，则break和continue可以写在if语句中，这时候的break是对循环语句起作用的。
 *      break关键字会立即终止距离它最近的那个循环语句
 *
 *      需求：两个循环嵌套，在内循环中有一个break，但是要求此break能够终止外循环？
 *      可以为循环创建一个label（为循环起一个名字），来标识当前的循环
 *      label:循环语句
 *      使用break语句时，可以在break语句后面跟上一个label，这样break将会结束指定的循环，而不是最近的。
 *
 *      continue关键字的作用是跳过当次循环
 *      continue默认也是只会对距离它最近的那个循环起作用
 *      与break同理
 *
 *
 *      Math.sqrt();对一个数进行开方
 *
 * */
